package cn.edu.xjtu.work.thirdMax;

import java.util.Arrays;

/**
 * 414. 第三大的数
 * 
 * 给你一个非空数组，返回此数组中 第三大的数 。如果不存在，则返回数组中最大的数。
 */
public class Solution {
  public static void main(String[] args) {
    Solution solu = new Solution();
    int[] nums = { 2, 2, 3, 1 };
    System.out.println(solu.thirdMax(nums));
  }

  public int thirdMax(int[] nums) {
    if (nums.length == 1) {
      return nums[0];
    }
    if (nums.length == 2) {
      return Math.max(nums[0], nums[1]);
    }
    Arrays.sort(nums);
    if (nums[nums.length - 3] == nums[nums.length - 2]) {
      return nums[nums.length - 1];
    }
    return nums[nums.length - 3];
  }
}
